草庐IT

iOS UIScrollView 性能

全部标签

c++ - x64 free 性能低下

我有一个这样的类(假设所有malloc都成功)classCMyClass{public:CMyClass(){lpData=malloc(128);};~CMyClass(){free(lpData);};public:LPVOIDlpData;};然后我执行这个:CMyClass*lpList=newCMyClass[32768];delete[]lpList;问题在于,在x86中,代码运行良好且快速(在调试和发布版本中完成几毫秒),但在x64中,删除调用需要大约15秒来释放所有内存。操作系统是Win7x64。将不胜感激。问候,毛罗。 最佳答案

c# - C++文本文件读取性能

我正在尝试将C#程序迁移到C++。c#程序逐行读取1~5gb大小的文本文件,并对每一行进行一些分析。C#代码如下所示。using(varf=File.OpenRead(fname))using(varreader=newStreamReader(f))while(!reader.EndOfStream){varline=reader.ReadLine();//dosomeanalysis}对于一个包含700万行的1.6GB文件,此代码大约需要18秒。我先写的迁移的c++代码如下ifstreamf(fname);stringline;while(getline(f,line)){//do

c++ - 性能 stringbuf 与字符串

当我们必须处理字符串操作时,std::string和std::stringbuf之间是否存在任何显着的性能差异,如果是,为什么。更一般地说,什么时候最好使用std::stringbuf而不是std::string? 最佳答案 std::stringbuf在内部使用一个字符串来缓冲数据,所以它可能有点慢。不过,我认为差异不会很大,因为它基本上只是授权。为确保您必须运行一些性能测试。std::stringbuf在您希望IO流使用字符串作为缓冲区时很有用(例如std::stringstream,它使用std::stringbuf默认情况下

c++ - std::map::find 性能是否取决于 key 大小?

假设我有以下map定义:std::map其中key是Storage类实例的字符串表示。我的问题是,即使它说map::find复杂性大小是对数,string大小对性能有影响吗?我之所以有这个map是为了能够快速访问Storage类实例。但是,如果Storage类的字符串表示很长怎么办?是否存在最大字符串大小,如果超过该大小,则map的使用变得多余?注意事项我的直觉告诉我,如果Storage类的字符串表示很长,那么使用operator==比较类本身将是也很贵。所以无论字符串有多长,我都最好使用map 最佳答案 是的,map必须对键进行小

C++ - 指向对象的指针 vector 的性能与对象的性能

在这种情况下,问题场景是一个游戏,因此所有资源都在开始时分配,然后迭代一个级别。存储在vector中的对象是复杂类的实例,当然,在加载时将它们实际复制到vector中很耗时,但关注度较低。但如果我主要关心的是运行时类对象的迭代速度,我是否最好将类对象本身存储在vector中,而不是像传统推荐的那样只存储指向类对象的指针?在这个例子中我不担心内存管理,只担心迭代速度。 最佳答案 我迟到了才回答这个问题,但性能方面很重要,到目前为止在线答案都是纯理论的和/或只关注内存管理方面。所以这是我最近尝试过的三个相关场景的一些实际基准测试信息。您

c++ - 派生类调用时的虚函数性能?

如果在编译时从已知为派生类的类调用虚拟方法,是否会导致性能下降?下面我使用派生类显式调用force_speak。代码:#include#include#includeclassBase{public:virtualvoidspeak(){std::coutvoidforce_speak(std::array,3>&arr){for(auto&b:arr){b->speak();}}intmain(){std::array,3>arr={std::unique_ptr(newDerived1),std::unique_ptr(newDerived1),std::unique_ptr(ne

c++ - C 与 C++ 的数值模拟(性能)

我即将编写一个离格扩散受限聚合(DLA)模拟,我想知道是使用C还是C++。出于设计原因,C++会很好,但我想知道C是否会执行得更好。我当然知道算法的性能,并选择了最好的算法。所以我不是在谈论将O(n^2)改进为O(logn)或类似的东西。可以这么说,我正在尝试减少常数。如果您不知道DLA,它基本上可以归结为拥有一个double组(大小在10^3和10^6之间),并在一个循环中选择随机double来比较(大于/小于)大部分数组。因此,对此重要的性能差异是数据访问和调用函数:数据访问:C结构与具有公共(public)数据成员的C++类与具有私有(private)数据成员和访问器的C++类。

c++ - 我们是否应该在大型 std::vector 中存储指向类实例的智能指针以获得更好的性能?

当在std::string中存储自定义类(不是“简单”类,例如不是std::complex,不是std::vector等)的大量实例时,我们应该选择一个简单的std::vector还是std::vector>是更好的选择?我写了一些基准代码(从thisblogpost扩展代码,关于C++11在C++03上move语义改进),似乎vector>为1,500,000项vector提供了更好的性能。事实上,在装有Windows764位、IntelCorei5四核CPU和8GBRAM的PC上,我得到了以下结果(test.exe1500):vector>:1.5秒vector>:1.6秒vect

c# - .NET/C# 和 Java 的高性能数学库

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我们目前有一个用C++编写的高性能科学应用程序,它使用了IntelMathKernelLibrary。.我们正在考虑编写一个用Java和.NET/C#编写的基准应用程序来比较性能差异。为此,我们还需要一个良好的(最好是商业的)数学库。有谁知道任何适用于Java/C#的数学等效库?旁注:C++有IntelTBB帮助多线程的库。.NET/C#和Java是否有

首屏渲染性能优化

背景介绍首屏渲染是非常常见的需要优化的场景,而类似VUE和REACT等SPA设计的框架往往由于把许多的内容都集中在一个页面的特点,导致首页渲染较缓慢,故需要进行渲染的优化,以下主要介绍几种优化的方案,以实现首屏渲染加快的目的。注意:所谓的性能优化并不是让浏览器运行的更快,而是为了达到让用户更快能与页面进行交互的目的而进行的一系列措施。渲染关键点简介FP(FirstPaint:首次绘制):表示浏览器首次绘制出像素的时间点FCP(FirstContentfulPaint:首次内容绘制):表示浏览器首次渲染内容,内容可以是文本,图片等,但不算入空白的canvas或SVG。FMP(FirstMeani